Sortuje rekordy bΩd╣ce wynikiem kwerendy rosn╣co lub malej╣co wed│ug warto£ci okre£lonego pola lub p≤l.
SELECT lista_p≤l
FROM tabela
WHERE kryteria_wyboru
[ORDER BY pole1 [ASC | DESC ][, pole2 [ASC | DESC ]][, ...]]]
Sk│adnia instrukcji SELECT z klauzul╣ ORDER BY zawiera nastΩpuj╣ce elementy:
Element | Opis |
---|---|
lista_p≤l | Nazwy pobieranych p≤l, kt≤rym mog╣ towarzyszyµ aliasy nazw p≤l, funkcje agreguj╣ce SQL, predykaty wyboru (ALL, DISTINCT, DISTINCTROW, lub TOP) albo inne opcje instrukcji SELECT. |
tabela | Nazwa tabeli, z kt≤rej pobierane s╣ rekordy. WiΩcej informacji mo┐na znaleƒµ w opisie klauzuli FROM. |
kryteria_wyboru | Kryteria wyboru. Je£li instrukcja zawiera klauzulΩ WHERE, aparat bazy danych Microsoft Jet porz╣dkuje warto£ci dopiero po zastosowaniu do rekord≤w warunk≤w wymienionych w klauzuli WHERE. |
pole_1, pole_2 | Nazwy p≤l, wzglΩdem kt≤rych sortowane s╣ rekordy. |
Klauzula ORDER BY jest nieobowi╣zkowa. Jednak trzeba u┐yµ, aby pobierane dane by│y prezentowane w okre£lonej kolejno£ci.
Domy£ln╣ kolejno£ci╣ sortowania jest kolejno£µ rosn╣ca (A do », 0 do 9). W obu poni┐szych przyk│adach dane o pracownikach (nazwisko i imiΩ) wy£wietlane s╣ alfabetycznie wed│ug nazwisk:
SELECT Nazwisko, ImiΩ
FROM Pracownicy
ORDER BY Nazwisko;
SELECT Nazwisko, ImiΩ
FROM Pracownicy
ORDER BY Nazwisko ASC;
Aby zmieniµ kolejno£µ sortowania na malej╣c╣ (» do A, 9 to 0), nale┐y za ka┐dym z p≤l, kt≤remu ma odpowiadaµ kolejno£µ malej╣ca, umie£ciµ zastrze┐one s│owo DESC. W kolejnym przyk│adzie pobierane s╣ wynagrodzenia pracownik≤w i sortowane s╣ w kolejno£ci malej╣cej:
SELECT Nazwisko, Wynagrodzenie
FROM Pracownicy
ORDER BY Wynagrodzenie DESC, Nazwisko;
W przypadku umieszczenia na li£cie klauzuli ORDER BY p≤l zawieraj╣cych dane typu Memo lub obiekt OLE wyst╣pi b│╣d. Aparat bazy danych Microsoft Jet nie sortuje p≤l tych typ≤w.
Klauzula ORDER BY jest zazwyczaj ostatnim elementem instrukcji SQL.
Klauzula ORDER BY mo┐e zawieraµ nazwy kilku p≤l. Rekordy s╣ sortowane najpierw wed│ug warto£ci pola zajmuj╣cego pierwsze miejsce na li£cie klauzuli ORDER BY. Rekordy o identycznych warto£ciach w tych polach s╣ nastΩpnie sortowane wed│ug warto£ci drugiego pola, i tak dalej.